Vehicle manufacturers have begun to include a multitude of computer microprocessors into modern vehicle models. From large scale operating systems controlling infotainment and telematics onboard the vehicle, to small system controls such as windows or a digital odometer, a vast array of software resides on memories associated with these microprocessors. Because of the connected nature of the vehicle computing systems, and the fact that the systems both interact with each other and share a data pipeline called the vehicle bus, there is a constant concern about whether the software on one system will work with software on other modules.
The vehicle bus is a shared data pipe that is subject to manipulation from every connected module. Since modules in a controller area network (CAN) system using a vehicle bus all multi-cast data onto the bus, there is a possibility that malfunctioning or improper software can negatively affect data broadcast by other modules over the bus. At the same time, there is increased demand from consumers that their vehicles have the most updated and fully integrated software available. This combination results in pressure on original equipment manufacturers (OEMs) to provide both robust and constant software updates.
This paradigm might be more manageable if all the software used a central processing unit and a unified operating system, but since there are tens or even hundreds of electronic control units (ECUs) each running their own software, and each having potential dependencies on other ECUs, updating the software of just a single ECU can cause massive issues on a vehicle network, if not done with care and consideration.
Over the air (OTA) updates have become increasingly popular as a method for updating vehicle software. A vehicle downloads an update when an internet or other remote connection is available, and then, when the vehicle has an appropriate opportunity, the vehicle processes the update. Originally most OTA updates were done while a vehicle was in a parked state, but new models have provided better methods for performing OTA updates while a vehicle is being driven. In either event, the vehicle may take several cycles to complete the update, which typically must be fully completed, and verified, before being used, due to potential impact on a driving situation.
The older method of updating software was to take a vehicle to a dealer and have the dealer install the newest versions of any needed updates. While this model still is heavily in use, OTA updates have the obvious advantage of occurring in the background, without any explicit action by the customer. An issue can occur, however, if the customer drives the vehicle to a dealer and has parts or software updates, replaced or modified. In this instance, if a previous update is still processing, and the dealer attempts to install updated software on the same or a related module, compatibility problems may arise.